package com.mezz.bones.framework.mybatis.dynamic.domain.dto;

import lombok.Data;

/**
 * 数据库连接DTO
 */
@Data
public class DynamicDataSourceInfo {

    /**
     * 数据源编码 路由key
     */
    private String datasourceKey;
    
    /**
     * 数据库URL
     */
    private String url;
    
    /**
     * 数据库用户名
     */
    private String username;
    
    /**
     * 数据库密码
     */
    private String password;

    /**
     * 默认值
     */
    private String driverClassName = "com.mysql.cj.jdbc.Driver";

    /**
     * 后序如果想为每个单独的数据源配置连接池参数 可在此对象上扩展这些属性
     * 暂时公用yml中配置的 连接池参数
     *
     *       hikari:
     *         # 最大连接池数量
     *         maxPoolSize: 20
     *         # 最小空闲线程数量
     *         minIdle: 10
     *         # 配置获取连接等待超时的时间
     *         connectionTimeout: 10000
     *         # 校验超时时间
     *         validationTimeout: 5000
     *         # 空闲连接存活最大时间，默认10分钟
     *         idleTimeout: 600000
     *         # 此属性控制池中连接的最长生命周期，值0表示无限生命周期，默认30分钟
     *         maxLifetime: 1800000
     *         # 多久检查一次连接的活性
     *         keepaliveTime: 30000
     */

}
